package spackage;

import java.io.*;
import java.util.Scanner;

public class FileInputOutput {
    public static void main(String[] args) {
        // 定义文件路径
        String filePath = "output.txt";

        // 1. 创建字符底层输入输出流
        try (FileWriter fileWriter = new FileWriter(filePath);
             BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
             Scanner scanner = new Scanner(System.in)) {

            // 2. 使用Scanner扫描器对象读取键盘输入
            System.out.println("请输入向文件写入的数据（以'#'结束输入）：");

            // 3. 循环读取用户输入，直到输入“#”
            while (true) {
                String input = scanner.nextLine();
                if ("#".equals(input)) {
                    break;
                }
                // 将输入的内容写入文件
                bufferedWriter.write(input);
                bufferedWriter.newLine(); // 换行
            }

            // 确保所有数据都写入文件
            bufferedWriter.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }

        // 4. 从文件中读取内容并输出到屏幕
        try (FileReader fileReader = new FileReader("output.txt");
             BufferedReader bufferedReader = new BufferedReader(fileReader)) {

            System.out.println("\n从文件中读取的内容：");
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
